home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / Fonts / installfont / testsheet < prev    next >
Encoding:
Text File  |  1993-06-06  |  4.2 KB  |  174 lines

  1. #!/bin/csh -f
  2. # Font test sheet program by Otto J. Makela <otto@jyu.fi>
  3. # Distributed under the GNU Public Licence -- see file COPYING for details
  4. if ( $#argv == 0 ) set argv=( {/{Next,Local},~/}Library/Fonts/*.font )
  5.  
  6. cat << END
  7. %!PS-Adobe-2.1
  8. %%Title: Font Test Sheets
  9. %%Creator: testsheet
  10. %%For: $USER
  11. %%CreationDate: `date`
  12. %%DocumentFonts: (atend)
  13. %%Pages: (atend)
  14. %%EndComments
  15.  
  16. %-----------------------------------------------------------------------------
  17. % Abstract:
  18. %    Print font test sheet
  19. %    Last edit 22 Apr 1993
  20. %
  21. % Author:
  22. %    Otto Makela <otto@jyu.fi>, based heavily on ISO 8859.1 table code by
  23. %    Gisle Hannemyr <gisle@ifi.uio.no>
  24. %    Distributed under the GNU Public Licence -- see file COPYING for details
  25. %-----------------------------------------------------------------------------
  26.  
  27.  
  28. %---( Declarations )----------------------------------------------------------
  29.  
  30. /mm { 2.83464567 mul } bind def
  31. /hexdig (0123456789ABCDEF) def
  32. /onechr (X)  def
  33. /twochr (Xx) def
  34. /fntnam 50 string def
  35. /engbuf 50 string def
  36.  
  37. /celsiz 10 mm def  % Size of character cell. Change this if you want to.
  38. /orginx 23 mm def  % Left   edge of table.   Change this if you want to.
  39. /orginy 70 mm def  % Bottom edge of table.   Change this if you want to.
  40. /shding 0.96  def  % Shade for control char. Change this if you want to.
  41.  
  42. %---( Fonttable )-------------------------------------------------------------
  43.  
  44. /tablerow {
  45.  /trow exch def
  46.  /txxx celsiz trow mul def
  47.  /tbeg 16 trow mul def
  48.  /tyyy yorg celsiz sub def
  49.  tbeg 1 tbeg 15 add {
  50.    onechr dup 0 4 -1 roll put
  51.    dup stringwidth pop
  52.    celsiz exch sub 2 div txxx add tyyy moveto show
  53.    /tyyy tyyy celsiz sub def
  54.   } for
  55. } bind def % tablerow
  56.  
  57.  
  58. /graybox {
  59.  /ghei exch def
  60.  /gwid exch def
  61.  /gray exch def
  62.  gsave
  63.   currentpoint translate
  64.   newpath
  65.    0 0 moveto
  66.    0 ghei rlineto
  67.    gwid 0 rlineto
  68.    0 ghei neg rlineto
  69.    closepath
  70.    gray setgray
  71.   fill
  72.  grestore
  73. } bind def % graybox
  74.  
  75.  
  76. /fonttable {
  77.  gsave
  78.   /fontnam exch def
  79.  
  80.   orginx 10 mm add orginy translate
  81.   /psiz celsiz  2 div def
  82.   /ssiz psiz    2 div def
  83.   /heit 16 celsiz mul def
  84.   /widd 16 celsiz mul def
  85.   /fontstr fontnam fntnam cvs def
  86.  
  87.   0 0 moveto
  88.   shding celsiz dup add heit graybox
  89.   celsiz 7 mul 0 moveto
  90.   shding celsiz dup graybox
  91. % Remove comment marks from the next two lines if you'd like to
  92. % have the character codes 0x80-0x9F gray boxed
  93. %  celsiz 8 mul 0 moveto
  94. %  shding celsiz dup add heit graybox
  95.   newpath
  96.    0 0 moveto
  97.    0 heit rlineto
  98.    widd 0 rlineto
  99.    0 heit neg rlineto
  100.    closepath
  101.    3 setlinewidth 1 setlinejoin
  102.   stroke
  103.   fontnam findfont psiz scalefont setfont
  104.   /yorg heit celsiz psiz sub 2 div add def
  105.    1 tablerow
  106.    2 tablerow
  107.    3 tablerow
  108.    4 tablerow
  109.    5 tablerow
  110.    6 tablerow
  111.    7 tablerow
  112.    8 tablerow
  113.    9 tablerow
  114.   10 tablerow
  115.   11 tablerow
  116.   12 tablerow
  117.   13 tablerow
  118.   14 tablerow
  119.   15 tablerow
  120.  
  121.   newpath
  122.    /heio heit celsiz add def
  123.    /wido widd celsiz add def
  124.    celsiz neg 0 translate
  125.    0 celsiz heio celsiz add { 0 exch moveto wido 0 rlineto } for
  126.    0 celsiz wido celsiz add {   0    moveto 0 heio rlineto } for
  127.    1 setlinewidth 1 setlinecap
  128.   stroke
  129.   /Times-Italic findfont psiz scalefont setfont
  130.   /yy yorg celsiz sub def
  131.   hexdig {
  132.    onechr dup 0 4 -1 roll put
  133.    dup stringwidth pop celsiz exch sub 2 div yy moveto show
  134.    /yy yy celsiz sub def
  135.   } forall
  136.   /xx 0 def
  137.   (hex) dup stringwidth pop celsiz exch sub 2 div xx add yorg moveto show
  138.   /xx xx celsiz add def
  139.   hexdig {
  140.    twochr dup 0 4 -1 roll put
  141.    dup stringwidth pop celsiz exch sub 2 div xx add yorg moveto show
  142.    /xx xx celsiz add def
  143.   } forall
  144.   /titley heio celsiz add def 0 titley moveto
  145.   /Times-Roman findfont psiz 1.5 mul scalefont setfont
  146.   fontstr show
  147.  grestore
  148. } bind def % fonttable
  149.  
  150. %%EndProlog
  151.  
  152. %---( Main )------------------------------------------------------------------
  153. END
  154.  
  155. set page=0
  156. foreach fontdirectory ( $* )
  157.     set fontname="${fontdirectory:r}"
  158.     if ( "${fontname:e}" == "font") set fontname="${fontname:t}"
  159.     @ page++
  160.     echo "%%Page: $page $page"
  161.     echo "%%PageFonts: Times-Italic Times-Roman $fontname"
  162.     echo "/saveobj save def /$fontname fonttable saveobj restore showpage"
  163. end
  164.  
  165. echo "%%Trailer"
  166. echo "%%DocumentFonts: Times-Italic Times-Roman"
  167. foreach fontdirectory ( $* )
  168.     set fontname="${fontdirectory:r}"
  169.     echo "%%+ ${fontname:t}"
  170. end
  171. echo "%%Pages: $page"
  172.  
  173. # The End.
  174.